#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Generic;
using Cephei.QL.Times;
using Cephei.QL.Termstructures;
using Cephei.QL.Indexes;
using Cephei.QL;
namespace Cephei.QL.Indexes.Ibor
{
     // <summary> 
	// ! Euro LIBOR fixed by BBA.  See <http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1414>.  \warning This is the rate fixed in London by BBA. Use Euribor if you're interested in the fixing by the ECB.
	// </summary>
    [Guid ("D450587B-3371-4c3b-91D9-56D1552CB3B7"),ComVisible(true)]
	public interface IEURLibor : Cephei.QL.Indexes.IIborIndex
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
        
		 DateTime MaturityDate(DateTime valueDate);
        
		 DateTime ValueDate(DateTime fixingDate);
    }

    // <summary> 
	// ! Euro LIBOR fixed by BBA.  See <http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1414>.  \warning This is the rate fixed in London by BBA. Use Euribor if you're interested in the fixing by the ECB. Factory
	// </summary>
   	[ComVisible(true)]
    public interface IEURLibor_Factory // : Collection_Factory<IEURLibor, ICell<IEURLibor>>
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        
	    IEURLibor Create (Cephei.QL.Times.IPeriod tenor, Cephei.QL.Termstructures.IYieldTermStructure h);
        // <summary> 
		// ASC091217 Allow construction with default null parameter
		// </summary>
	    IEURLibor Create (Cephei.QL.Times.IPeriod tenor);
    }
}

